Set and Manage Annual Sales Targets with Monthly Breakdown
1. Target Dashboard & Navigation
- Given the user navigates to the "Company Targets" module,
- When the dashboard loads,
- Then they must see a data grid displaying existing targets with columns for: Target Period, Start Date, End Date, Order Count, Order Value, and Actions.
- And the user must be able to click the "Add New Target" button to create a new financial year target, or click the "Edit" button on an existing row to modify it.
2. Defining the Annual Target (Header Level)
- Given the user is on the "Company Target" creation or edit form,
- When they interact with the header fields,
- Then they must select a financial year from the Select year dropdown (e.g., 2026 - 2027).
- And the system should automatically populate the Start-end date fields based on standard financial year boundaries (e.g., 01-04-2026 to 31-03-2027).
- And the user must be able to input the aggregate annual goals into the mandatory Order Count and Order Value fields within the "Year Target" section.
3. Monthly Breakdown Toggle & Auto-Distribution
- Given the user has inputted the total Year Target,
- When they scroll to the "Divide into months?" section and select "Yes",
- Then the "Monthly Breakdown" grid must appear, listing all 12 months sequentially (e.g., Apr 26 through Mar 27).
- And the system must automatically and equally distribute the total annual Order Count and Order Value across the 12 months (e.g., an annual Order Count of 1,200 automatically populates 100 into each month).
4. Manual Adjustment for Seasonality
- Given the Monthly Breakdown grid is visible and populated,
- When the user clicks into the specific Order Count or Order Value field for any given month (e.g., Nov 26),
- Then they must be able to manually overwrite the auto-calculated value to adjust for seasonal sales expectations.
5. Validation and Submission
- Given the user has finalized the annual and monthly target numbers,
- When they click the "Update Target" (or Save) button,
- Then the system should save the configuration and return the user to the main list view.
- And the system should ideally trigger a validation check to ensure that the sum of the individual monthly targets perfectly matches the total "Year Target" declared at the top before allowing the save.
- Alternate Flow: If the user clicks "Cancel" or "Back to List", any unsaved changes are discarded, and the user is returned to the dashboard.